Non-volatile memory systems, such as flash memory, are used in digital computing systems as a means to store data and have been widely adopted for use in consumer products. Flash memory may be found in different forms, for example in the form of a portable memory card that can be carried between host devices or as a solid state disk (SSD) embedded in a host device. These memory systems typically work with data units called “pages” that can be written, and groups of pages called “blocks” that can be read and erased, by a storage manager often residing in the memory system.
In non-volatile memory systems having multiple memory banks, there are regions of data which may be more active, and therefore the banks associated with those regions of data are more likely to wear out quickly. Typically, a multiple memory bank non-volatile memory includes separate die or dies for each bank, and a controller routes data associated with fixed slices of a logical block address space exclusively to each of the separate memory banks such that each bank only receives data associated with a predetermined range of the total logical address space. A problem can arise when a small hot spot develops. The hot spot may be a very active address range in the data where data is frequently written and erased. If this hot spot is located in a single bank, that particular bank becomes “hotter” than the rest, being subjected to more write and erase cycles and thus more likely to wear quickly. It is also possible that one bank of the multiple banks becomes hotter than the others due to host activity or grown defects (e.g., defects that emerge after manufacture while in the field) in the physical blocks of a particular bank that aren't attributable to any single hot logical region. This increase in host activity or decrease in the number of available physical blocks due to growing defects in a bank can also increase the wear on the remaining blocks in the bank related to the wear in other banks.